This application claims the benefit of priority to Swedish Application No. 9801671-0, filed May 13, 1998, entitled Integrated Circuit And Method For Bringing An Integrated Circuit To Execute Instructions.
1. Field of the Invention
The present invention relates to an integrated circuit and a method for bringing an integrated circuit to execute instructions.
2. Technical Background
Control units to be used in embedded systems, e.g. network peripheral equipment for the control of different functions in a computer network, comprise a processing circuit having an integrated circuit (IC) upon which a CPU (central processing unit) and other essential units cooperating therewith, such as a cache memory, are formed. The processing circuit often also comprises a number of external units, such as external memory units, connected to and communicating with the integrated circuit via a number of ports.
Different types of processing circuit designs can be achieved by an integrated circuit of a specific design being equipped with different external units and the thus formed processing circuit being loaded with different software. Thereby one IC-design can be used for a variety of applications.
When initially loading the processing circuit with the software essential for its functions, often in connection with the manufacturing process, it is necessary to provide the integrated circuit with an external memory means, comprising one or more memory units, which memory means is loaded with a start up program and which provides memory space for receiving additional software programs for the functions of the processing circuit.
Therefore, the processing circuit is either permanently equipped with the external units needed for the initial software loading, or such external units are temporarily connected to the integrated circuit during a software loading stage of the manufacturing process.
The cost of the processing circuit is increased in an undesirable way if the circuit is to be equipped with units that are unsuitable or unnecessary for the subsequent use of the circuit.
If external units for the initial software loading are connected to the integrated circuit only during a loading stage, this stage of manufacturing will be inconveniently time consuming.
Testing of software test versions during development thereof often includes the exchanging of, erasing and reloading of memory units which renders it time consuming.
The invention has for its object to simplify the loading of necessary software into a processing circuit.
Another object is to provide an integrated circuit which can be used in a broad spectrum of applications.
A further object of the invention, is to limit the costs involved in the manufacturing process of processing circuits.
According to the invention these objects, as well as other objects that will become apparent from the description below, are achieved by an integrated circuit and a method for bringing an integrated circuit to execute instructions in accordance with the appended claims 1 and 9.
According to a first aspect of the invention, the integrated circuit comprises a switching means for switching the circuit between a working mode and an initiating mode, wherein the circuit in itself in the initiating mode, is adapted to bring a CPU on the circuit to execute instructions, received from an external signal.
In the manufacturing process, such an integrated circuit can be equipped with preferred external units for the forming of a desired processing circuit design. No requirements of specific external units for the initial software loading of the processing circuit need to be considered. Further, the software loading stage can be performed quickly, as the processing circuit can be loaded without being equipped with auxiliary equipment during the loading stage.
The manufacturing process can now be simplified, since the software loading can be performed at an optional stage, e.g. in connection with testing of a final product.
Also, an integrated circuit according to the invention is possible to reload with new and different software at any time during its future life in the same simple fashion as the initial loading.
Another advantage is the possibility of simple software testing during development of new software.
Yet another advantage of such an integrated circuit is that it in the initiating stage, instead of loading itself with additional software, can be made to perform a limited instruction, such as the switching of an external system.
In the context of the invention, an integrated circuit (IC) denotes an electronic circuit in one piece, having conductors and components integrated therewith, i.e., a chip.
According to a preferred embodiment of the invention, the IC is pre-programmed to receive the signal and to bring the CPU to execute the instructions.
This might be achieved by logical components formed on the IC by the hardware itself (hardcoded instructions). However, a memory means on the circuit preferably comprises a first memory unit for storing internal instructions to receive said signal and to execute the external instructions. The first memory unit preferably comprises a ROM having stored thereon said internal instructions. Thereby said pre-programming is achieved in a compact way and with low costs involved.
In another preferred embodiment of the invention, the memory means on the IC comprises a second memory unit for storing the external instructions to be executed by the CPU. This second memory unit and the above mentioned first memory unit might be embodied in one and the same unit. However, according to the invention it is preferred that the second memory unit comprises a cache memory unit. Since a cache memory unit preferably is provided for the CPU anyway, it should be used during the subsequent life of the circuit. Auxiliary memory units are avoided by the use of the cache memory unit. The cache memory unit preferably comprises a random access memory (RAM) and is adapted to be switched into a mode where this RAM can be used for the storing of external instructions.
According to another preferred embodiment of the invention, the IC comprises an interface control means connected to at least one of said ports, wherein the interface control means, in the initiating mode, is adapted to recognize and receive said signal. Thereby the IC can be made to listen actively for the signal on for instance a network.
According to a second aspect of the invention, it comprises a method wherein the IC is brought into an initiating mode, in which it is adapted for receiving an external initiating signal, comprising external initiating instructions. The IC then receives said external signal and uses an integrated CPU to execute said instructions. With the method according to second aspect, the same advantages are achieved as with the integrated circuit according to the first aspect.
When bringing the integrated circuit into an initiating mode, the method according to a preferred embodiment, comprises the step of adapting an interface control means on the integrated circuit to receive an external signal. Thereby the integrated circuit is preferably enabled to recognize said external signal among other signals, such as on a network connected thereto. In a preferred way this can be achieved by giving the integrated circuit a predetermined initiating address, which is temporary and unique for the initiating mode, and which is to be recognized by the interface means for the receiving of the external signal.
Thereafter the method according to a preferred embodiment comprises the step of sending the external signal to the integrated circuit, whereby the signal preferably is addressed to the predetermined initiating address and preferably has a predetermined size.
According to another preferred embodiment of the method, the external instructions, when received and prior to being executed, are stored in a memory means forming part of the integrated circuit, preferably a cache memory unit. Thereby the step of bringing the IC in an initiating mode preferably comprises the step of adapting the cache memory unit to work as a RAM for storing the external instructions.
According to another aspect of the invention, a first small startup program is permanently stored on the IC and, in an initiating mode, is activated to make the IC receive a second, somewhat larger start-up, program, which in turn initiates the actual loading of the IC and external units connected thereto.